<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    
</body>
<script>
    // 函数嵌套：一个函数内部定义了另一个函数
    // 内部函数引用外部函数的变量
    // 内部函数被外部函数返回或在外部被引用

    function outer() {
        let count = 0;
        return function inner() {
            count++;
            return count;
        }
    }

    const counter = outer();
    console.log(counter()); // 1
    console.log(counter()); // 2
    console.log(counter()); // 3
    // 在这个例子中，inner函数就是一个闭包，它可以访问outer函数作用域中的count变量，即使outer函数已经执行完毕。
</script>
</html>